﻿Option Explicit On


Public Class Historia_clinico
    Inherits System.Web.UI.Page
    Dim ID_Cabecera_hc As Integer
    Shared Persona_A_ATEnder As New Persona
    Shared Doctor As New Persona

    Private Sub CargaPrescripcionMedica_EnTEmp()
        Dim param(1) As ADODB.Parameter
        Dim Rs As ADODB.Recordset




        param(0) = New ADODB.Parameter
        param(0).Name = "@NuevaPRescripcion"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtNuevaPrescripcion.Text
        param(0).Size = 8000

        param(1) = New ADODB.Parameter
        param(1).Name = "@Medicacion"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = txT_Medica_prescripcion.Text
        param(1).Size = 8000



        If Datos.Agregar("CargaPrescripcionesEn_temp", param, "  CargaPrescripcionMedica_EnTEmp -historial clinico") = True Then
            'VACIO GRIDVIEW
            Gd_precriciopnes.DataBind()
            '-----------

            'recargo la gilla
            Rs = Datos.TraerTodos("TraePrescipcionDeTemporal", Nothing, "  CargaPrescripcionMedica_EnTEmp  - historial clinico")

            Gd_precriciopnes.DataSource = FG.cargaUnDataTable(Rs)
            Gd_precriciopnes.DataBind()


        Else
            MsgBox("ERror al cagar la prescipcion", MsgBoxStyle.Critical, "ERROR")


        End If


    End Sub


    Private Sub cargarAlergias_En_grid()

        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset


        'vacio la grilla ''
        gv_alergias.DataBind()


        param(0) = New ADODB.Parameter
        param(0).Name = "@dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Persona_A_ATEnder.Dev_Dni
        param(0).Size = 10


        '//////////////////////////
        'cargo el gv''
        '///////////////////////




        'cargo alergias
        Rs = Datos.TraerTodos("TraEAlergiaParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_alergias.DataSource = FG.cargaUnDataTable(Rs)
        gv_alergias.DataBind()

    End Sub

    Private Sub CargaGrid_DE_MEDICAMENTOScronicos()
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset



        ''vacio el grid''
        gv_medicacion.DataBind()
        '--------------------


        param(0) = New ADODB.Parameter
        param(0).Name = "@dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Persona_A_ATEnder.Dev_Dni
        param(0).Size = 10

        ' cargo la medicaciones
        Rs = Datos.TraerTodos("TraeMedicamentosEnfCronicaParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_medicacion.DataSource = FG.cargaUnDataTable(Rs)
        gv_medicacion.DataBind()


    End Sub


    Private Sub CargaGrid_DE_EnfermedadesCronicas()
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset



        param(0) = New ADODB.Parameter
        param(0).Name = "@dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Persona_A_ATEnder.Dev_Dni
        param(0).Size = 10



        'vacio los  gridviews()'''''''''
        gv_enfermedades_cronicas.DataBind()

        '//////////////////////////
        'cargo el gv''
        '///////////////////////


        '  cargo las enfermedades cronicas
        Rs = Datos.TraerTodos("TraeEnfermedadescronicasParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_enfermedades_cronicas.DataSource = FG.cargaUnDataTable(Rs)
        gv_enfermedades_cronicas.DataBind()


    End Sub
    Private Sub CompletaDatosDelMedico()

        lblFechaYhora.Text = Now.ToString
        LblMEdico.Text = PersLOgueada.Dev_ApellidoYnombre

    End Sub
    Private Sub CargaCombos_varios()


        'cargo los tipos de alergias
        FG.CargaCombo("TraeTiposDeAlergiaParaHC", cbotipoAlergia)


        ' carga el combo con los grupos sanguineos 
        FG.CargaCombo("TraeTodoslosGruposSanguinieos", CboNuevoGrupoSanguinio)
        CboNuevoGrupoSanguinio.Items.Add("-")
        CboNuevoGrupoSanguinio.Text = "-"

    End Sub



    Private Sub CompletaDatosdeLaPersonaAtender()

        With Persona_A_ATEnder

            lblDni.Text = .Dev_Dni
            LblNombreYApellido.Text = .Dev_ApellidoYnombre
            LblFechaNacimiento.Text = .Dev_FechaNacimiento
            lblEdad.Text = .Dev_Edad
            lblNAcionalidad.Text = .Dev_nacionalidad

            lbltelefono.Text = .Dev_telefono


            If lbltelefono.Text <> "" Then
                lbltelefono.Text = lbltelefono.Text & "/" & .Dev_celular
            Else
                lbltelefono.Text = .Dev_celular
            End If


            lbMadre.Text = .Dev_madre
            LblPadre.Text = .Dev_padre
            LblDireccion.Text = .Dev_Direccion & " " & .Dev_numeroDireccion & "-" & .Dev_Localidad

            lbl_grupoSanguinio.Text = .Dev_Grupo_sanguinio


            LblRegsitroDactilar.Text = IIf(.Dev_hueLLa <> "", "SI", "NO")

            ' aca muestro el carter si tiene pedido de captura 
            If .Dev_PedidoCaptura = True Then
                P_avisoPedidoDecaptura.Visible = True
            Else
                P_avisoPedidoDecaptura.Visible = False
            End If


        End With

    End Sub

    Private Function Carga_CieSeleccionadoDebusqueda(ByVal Cod_cid As String) As Boolean
        Dim param(0) As ADODB.Parameter

        param(0) = New ADODB.Parameter
        param(0).Name = "@cod"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Cod_cid
        param(0).Size = 5


        Carga_CieSeleccionadoDebusqueda = Datos.Agregar("cargaCie_SeleccionadoEN_TEMP", param, "Guarda El cie seleccionado -function Carga_CieSeleccionadoDebusqueda")


    End Function

    Private Sub RealizaBusquedaDeCie()
        Dim param(4) As ADODB.Parameter
        Dim Rs As ADODB.Recordset


        'vacio el gridview()'''''''''
        GV_resultadobusquedaCie.DataBind()
        lblResultado.Text = "Resultado:0"
        '''''''''''''''''''''''''''''

        param(0) = New ADODB.Parameter
        param(0).Name = "@cod"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtCodcie.Text
        param(0).Size = 5


        param(1) = New ADODB.Parameter
        param(1).Name = "@diagnostico"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = txtDiagnostico_Cie.Text
        param(1).Size = 500


        param(2) = New ADODB.Parameter
        param(2).Name = "@ClasificacionGeneral"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Value = CboClasificacionGeneral.Text
        param(2).Size = 500



        param(3) = New ADODB.Parameter
        param(3).Name = "@SubClasificacion"
        param(3).Type = ADODB.DataTypeEnum.adVarChar
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(3).Value = cboSubClasificacion.Text
        param(3).Size = 500


        param(4) = New ADODB.Parameter
        param(4).Name = "@categoria"
        param(4).Type = ADODB.DataTypeEnum.adVarChar
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(4).Value = cboCategoria.Text
        param(4).Size = 500


        Rs = Datos.TraerTodos("buscaCiexVariosParametros", param, "Busca el cie para la hc-RealizaBusquedaDeCie")

        GV_resultadobusquedaCie.DataSource = FG.cargaUnDataTable(Rs)
        GV_resultadobusquedaCie.DataBind()


        'muestro la cantidad de registros 
        lblResultado.Text = "Resultado:" & CStr(Rs.RecordCount)
        '''''''''''''''''''''''''''''''''


    End Sub

    Private Sub CargaComboDelfiltroCieXPrimeraVez()


        FG.CargaCombo("TraeClasificacionGeneralCie", CboClasificacionGeneral)
        CboClasificacionGeneral.Items.Add("TODAS")
        CboClasificacionGeneral.Text = "TODAS"

        'cargo el combo por el valor del combo del CboClasificacionGeneral
        FG.CargaCombo("TraeSubClasif_CIE_xClasificacionGral", cboSubClasificacion, CboClasificacionGeneral.Text)
        cboSubClasificacion.Items.Add("TODOS")
        cboSubClasificacion.Text = "TODOS"


        'cargo el combo categoria
        CargaCombo_x_2_valores("TraeCategoriaCie_X_claGralySubClasf", cboCategoria, CboClasificacionGeneral.Text, cboSubClasificacion.Text)
        cboCategoria.Items.Add("TODAS")
        cboCategoria.Text = "TODAS"




    End Sub
    Private Sub inilizoControlesGrupoSanguinio()

        CboNuevoGrupoSanguinio.Visible = False
        cmdGuardar_Gs.Visible = False
        lbkSalirGrupoSanguinio.Visible = False
        LnkBotonAgregar.Visible = False

        If lbl_grupoSanguinio.Text = "" Then
            LnkBotonAgregar.Visible = True
        End If

    End Sub
    Private Sub cargaAntecentesPAtologicos()
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset


        'vacio los  gridviews()'''''''''
        gv_alergias.DataBind()
        gv_enfermedades_cronicas.DataBind()
        gv_enfermedades_cronicas.DataBind()
        gv_vacunas.DataBind()
        '''''''''''''''''''''''''''''

        param(0) = New ADODB.Parameter
        param(0).Name = "@dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Persona_A_ATEnder.Dev_Dni
        param(0).Size = 10


        '//////////////////////////
        'cargo los gvs''
        '///////////////////////


        ' cargo el resumen de la historia clinica
        Rs = Datos.TraerTodos("TraE_resumen_de_hc_x_Dni", param, " cargaAntecentesPAtologicos -historia-clinico")
        Gv_HISTORAL_CLINICO.DataSource = FG.cargaUnDataTable(Rs)
        Gv_HISTORAL_CLINICO.DataBind()



        'cargo alergias
        Rs = Datos.TraerTodos("TraEAlergiaParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_alergias.DataSource = FG.cargaUnDataTable(Rs)
        gv_alergias.DataBind()



        '  cargo las enfermedades cronicas
        Rs = Datos.TraerTodos("TraeEnfermedadescronicasParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_enfermedades_cronicas.DataSource = FG.cargaUnDataTable(Rs)
        gv_enfermedades_cronicas.DataBind()



        ' cargo la medicaciones
        Rs = Datos.TraerTodos("TraeMedicamentosEnfCronicaParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_medicacion.DataSource = FG.cargaUnDataTable(Rs)
        gv_medicacion.DataBind()



        ' cargo las vacunas 
        Rs = Datos.TraerTodos("TraeINfoDeVAcunasParaHCxDni", param, " cargaAntecentesPAtologicos -historia-clinico")
        gv_vacunas.DataSource = FG.cargaUnDataTable(Rs)
        gv_vacunas.DataBind()







    End Sub

    Private Sub LimpiaTabla_temporales()
        Dim x As Boolean


        x = Datos.Modificar("VaciaTablasTemporales", Nothing, "Limpia la tabla temporal donde se deposita el cie seleccionado")



    End Sub



    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            '------esto el harcodeo para probar-------'
            'Persona_A_ATEnder.SetaDatosXDn("17777777")
            'Var_Globales.SeteaTipoVisita(TipoVisita.Guardia)

            ' el medico' que este caso es 
            ' PersLOgueada.SetaDatosXDn("27061349")

            '----------------fin harcodeo------------------------------




            '-------------------------------------------------------------------------
            'seteo la persona que se va a atender 
            Persona_A_ATEnder.SetaDatosXDn(Var_Globales.Dev_dniPaciente)

            Doctor = PersLOgueada

            Page.Master.FindControl("ImagFondoCabecera").Visible = False



            'si se entra a la hc clinica x una consulta , desactivo el panel de nueva visita
            If Var_Globales.TipoVisita.Consulta = Var_Globales.Dev_ID_tipoVisita Then
                pnlVisita.Visible = False
                cmdGuardar_Gs.Visible = False

                lblAgregarPatologia.Visible = False
                btnImg_agregaPatoloCronicas.Visible = False

                lblAgregaMedicacion.Visible = False
                btnImg_agregarMEdicacion.Visible = False

                IMgAgregarAlergia.Visible = False
                lblAgregaAlergia.Visible = False



            End If
            '--------------------------------------------------------------


            'entra por visita, muestro el link para que vuelva a la pagina de lista de espera
            If Var_Globales.Dev_ID_tipoVisita = Var_Globales.TipoVisita.Visita Then
                lnk_volverAlistaDespera.Visible = True
            End If
            '----------------------------------------------------------------------

            'entra por guardi, muestro el link para que vuelva a la pagina de busqueda de guardia
            If Var_Globales.Dev_ID_tipoVisita = Var_Globales.TipoVisita.Guardia Then
                lnkVolver_aBUsquedaDeGUardia.Visible = True
            End If
            '----------------------------------------------------------------------




            'si a persona esta en estado internado, el estado del tipo de visita va aseguir siendo internacion hasta que 
            'levanten ese estado x medio del "alta de insternacion "
            If Persona_A_ATEnder.Dev_EstaInternado = True Then
                Var_Globales.SeteaTipoVisita(TipoVisita.Internacion)
            End If
            '.---------------------------------------------

            'si esta murido ,,,doy aviso y saco el bton de guardar
            If Persona_A_ATEnder.Dev_EstaMurido = True Then


                pnlVisita.Visible = False
                cmdGuardar_Gs.Visible = False

                lblAgregarPatologia.Visible = False
                btnImg_agregaPatoloCronicas.Visible = False

                lblAgregaMedicacion.Visible = False
                btnImg_agregarMEdicacion.Visible = False

                IMgAgregarAlergia.Visible = False
                lblAgregaAlergia.Visible = False


                LBl_Msgbox_Msje.Text = ("La persona ha fallecido, no puede escribir la Historia")
                mdp_msgbox.Show()

            End If

            ''''.............................

            'valido que sea medico para escribir ,,si no es medico , saco el btnGuardar
            If Doctor.Dev_EsMedico = False Then
                pnlVisita.Visible = False

            End If

            'lleno combos y labels con la informacion del medico 
            CompletaDatosDelMedico()
            PersLOgueada.CargaCombo_Cn_Especialidades(CboEspecialidad)
            CboEspecialidad.Items.Add("-") '>lo uso para validar q marque una especialidad
            CboEspecialidad.Text = "-"
            '----------------------------------------


            '  cargo los datos de la persona a atender como nombre apellido etc
            ' y si tiene pedido de captura muestro el cartel
            CompletaDatosdeLaPersonaAtender()
            '-----------------------------------------


            'limpio la tabla Donde Se va a cargar los Cie seleccionados ,los alergias en temp,y medcacioes etc
            LimpiaTabla_temporales()
            '--------------------------------------------------------



            ''carga combos Varios (cbotipoAlergia   grupos sanguineos 
            CargaCombos_varios()



            'cargo combos filtro de busqueda de Cie  '  
            CargaComboDelfiltroCieXPrimeraVez()



            'cargo las grillas con los antecedentes 
            cargaAntecentesPAtologicos()


            'si no tiene grupo sanguinio , permito que se cargue una vez 
            'hago visible el bton agregar grupo sanguinio 
            inilizoControlesGrupoSanguinio()



            ''''oculto la ficha medica hasta que la piden ver por el gv_historialClinica
            p_fichaMedica.Visible = False

        End If


    End Sub

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardar.Click
        Dim param(7) As ADODB.Parameter
        Dim X As Boolean


        'sete el cartel
        FG.SacaCartelDeAViso(LblMsjeDeGuardarHistoriaClinica)






        '--------------   validaciones ' 
        If CboEspecialidad.Text = "-" Then
            FG.MuestraCartelDeguardar("Falta especificar su especialidad", LblMsjeDeGuardarHistoriaClinica)
            Exit Sub
        End If


        If txtMotivo.Text = "" Then
            FG.MuestraCartelDeguardar("Para Guardar debe ingresar el motivo de la visita del paciente", LblMsjeDeGuardarHistoriaClinica)
            Exit Sub
        End If

        If (txtDiagnostico.Text <> "" Or Gd_precriciopnes.Rows.Count <> 0) And Gv_Cie_seleccionado.Rows.Count = 0 Then
            FG.MuestraCartelDeguardar("Para Guardar debe ingresar un cie correspondienes a lo que tiene el paciente ", LblMsjeDeGuardarHistoriaClinica)
            Exit Sub
        End If

        '------------------------------------





        '----------hacemos la carga----------------------------

        param(0) = New ADODB.Parameter
        param(0).Name = "@dniPaciente"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Size = 10
        param(0).Value = Persona_A_ATEnder.Dev_Dni

        param(1) = New ADODB.Parameter
        param(1).Name = "@dni-Doctor"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Size = 10
        param(1).Value = Doctor.Dev_Dni

        param(2) = New ADODB.Parameter
        param(2).Name = "@Especialidad"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Size = 50
        param(2).Value = CboEspecialidad.Text

        param(3) = New ADODB.Parameter
        param(3).Name = "@ID_institucion"
        param(3).Type = ADODB.DataTypeEnum.adInteger
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput
        ' param(3).Size = 10
        param(3).Value = Doctor.Dev_ID_Institucion      'es el id del lugar de trabajo

        param(4) = New ADODB.Parameter
        param(4).Name = "@ID_TIpoVisita"
        param(4).Type = ADODB.DataTypeEnum.adInteger
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput
        ' param(4).Size = 10
        param(4).Value = Var_Globales.Dev_ID_tipoVisita

        'de aca pa bajo son datos d la hc 
        param(5) = New ADODB.Parameter
        param(5).Name = "@GrupoSanquineo"
        param(5).Type = ADODB.DataTypeEnum.adVarChar
        param(5).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(5).Size = 10
        param(5).Value = lbl_grupoSanguinio.Text

        param(6) = New ADODB.Parameter
        param(6).Name = "@Motivo"
        param(6).Type = ADODB.DataTypeEnum.adVarChar
        param(6).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(6).Size = 100
        param(6).Value = txtMotivo.Text

        param(7) = New ADODB.Parameter
        param(7).Name = "@Diagnostico"
        param(7).Type = ADODB.DataTypeEnum.adVarChar
        param(7).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(7).Size = 8000
        param(7).Value = txtDiagnostico.Text

        X = Datos.Agregar("CARGAR_HISTORIALCLINICO", param, "  btnGuardar_Click- hitora clinica")



        If X = True Then
            'si se cargo bien, recargo las grillas 
            cargaAntecentesPAtologicos()
            '------------------------------------

            'limpio los datos de los campos
            limpiaCampos()
            '-------

            'vacio la grilla dl cie-- x q si todo andubo bien el temp se la base se vacia
            Gv_Cie_seleccionado.DataBind()
            'lo mismo aca 
            Gd_precriciopnes.DataBind()



            ' si se guardo el grupo sanquineo ya no se va a mostrara el btn guardar gs
            If X = True And lbl_grupoSanguinio.Text <> "" Then
                cmdGuardar_Gs.Visible = False
            End If

        Else
            MsgBox("se produjo un error al guardar", MsgBoxStyle.Critical, "Error")


        End If





    End Sub

    Protected Sub CmdBucarCie_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CmdBucarCie.Click
        'inicializo el cartel de error de busqueda
        lblmenjeBusquedaCie.Visible = False
        lblmenjeBusquedaCie.Text = ""
        '----------------------------------



        If txtCodcie.Text = "" And txtDiagnostico_Cie.Text = "" Then
            lblmenjeBusquedaCie.Text = "Debe Ingresar un criterio para realizar la busqueda"
            lblmenjeBusquedaCie.Visible = True
            Exit Sub
        End If

        RealizaBusquedaDeCie()



    End Sub

    Protected Sub CboClasificacionGeneral_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CboClasificacionGeneral.SelectedIndexChanged
        lblmenjeBusquedaCie.Text = ""
        lblmenjeBusquedaCie.Visible = False


        'cargo el combo por el valor del combo del CboClasificacionGeneral
        FG.CargaCombo("TraeSubClasif_CIE_xClasificacionGral", cboSubClasificacion, CboClasificacionGeneral.Text)
        cboSubClasificacion.Items.Add("TODOS")
        cboSubClasificacion.Text = "TODOS"


        'cargo el combo categoria
        CargaCombo_x_2_valores("TraeCategoriaCie_X_claGralySubClasf", cboCategoria, CboClasificacionGeneral.Text, cboSubClasificacion.Text)
        cboCategoria.Items.Add("TODAS")
        cboCategoria.Text = "TODAS"


        If txtCodcie.Text <> "" Or txtDiagnostico_Cie.Text <> "" Then
            RealizaBusquedaDeCie()
        End If




    End Sub

    Protected Sub cboSubClasificacion_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cboSubClasificacion.SelectedIndexChanged

        'seteo el lblMsje de error al buscar
        lblmenjeBusquedaCie.Text = ""
        lblmenjeBusquedaCie.Visible = False



        'cargo el combo categoria
        CargaCombo_x_2_valores("TraeCategoriaCie_X_claGralySubClasf", cboCategoria, CboClasificacionGeneral.Text, cboSubClasificacion.Text)
        cboCategoria.Items.Add("TODAS")
        cboCategoria.Text = "TODAS"

        If txtCodcie.Text <> "" Or txtDiagnostico_Cie.Text <> "" Then
            RealizaBusquedaDeCie()
        End If


    End Sub


    Private Sub GV_resultadobusquedaCie_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GV_resultadobusquedaCie.PageIndexChanging
        'cambio la pagina 
        'GV_resultadobusquedaCie.PageIndex = e.NewPageIndex
        'y hago de nuevo la busqueda 
        'RealizaBusquedaDeCie()

    End Sub

    Protected Sub GV_resultadobusquedaCie_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles GV_resultadobusquedaCie.SelectedIndexChanged
        Dim row As GridViewRow = GV_resultadobusquedaCie.SelectedRow

        'sete el cartel de guaradar
        FG.SacaCartelDeAViso(LblMsjeDeGuardarHistoriaClinica)

        FG.SacaCartelDeAViso(lblmenjeBusquedaCie)

        If Carga_CieSeleccionadoDebusqueda(row.Cells(1).Text) = True Then
            'actualizo la busqueda , para dar efecto de que se cargo
            RealizaBusquedaDeCie()

        Else
            FG.MuestraCartel("Error al cragar el cie seleccionado", lblmenjeBusquedaCie)
        End If





    End Sub

    Protected Sub cboCategoria_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cboCategoria.SelectedIndexChanged
        'seteo el lblMsje de error al buscar
        lblmenjeBusquedaCie.Text = ""
        lblmenjeBusquedaCie.Visible = False


        If txtCodcie.Text <> "" Or txtDiagnostico_Cie.Text <> "" Then
            RealizaBusquedaDeCie()
        End If

    End Sub

    Protected Sub txtDiagnostico_Cie_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtDiagnostico_Cie.TextChanged



    End Sub

    Protected Sub LnkBotonAgregar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles LnkBotonAgregar.Click


        CboNuevoGrupoSanguinio.Visible = True
        cmdGuardar_Gs.Visible = True
        lbkSalirGrupoSanguinio.Visible = True
        LnkBotonAgregar.Visible = False

    End Sub

    Protected Sub txtCodcie_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtCodcie.TextChanged

    End Sub

    Protected Sub lnkCerrarBusquedaCie_Verdadero_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkCerrarBusquedaCie_Verdadero.Click
        Dim Rs As ADODB.Recordset

        mdlpopup_BuscaCie.Hide()


        'vacio la busqueda que hice anteriormente 
        GV_resultadobusquedaCie.DataBind()
        lblResultado.Text = "Resultado:0"
        '---------------------------------


        'actualizo cargo el cie seleccionado en la pagina 
        '    vacio la grilla
        Gv_Cie_seleccionado.DataBind()


        'busco los datos seleccionados en la tabla     
        Rs = Datos.TraerTodos("TraeCieSeleccionado_de_Temp", Nothing, "Actualiza el cie Seleccionado de la pagina - GV_resultadobusquedaCie_SelectedIndexChanged")

        'cargo el gv_cn el cie seleccionado
        Gv_Cie_seleccionado.DataSource = FG.cargaUnDataTable(Rs)
        Gv_Cie_seleccionado.DataBind()



    End Sub

    Private Function BorraCie_selecionado(ByVal Cie_A_borrar As String) As Boolean
        Dim param(0) As ADODB.Parameter

        param(0) = New ADODB.Parameter
        param(0).Name = "@cod"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Cie_A_borrar
        param(0).Size = 5


        BorraCie_selecionado = Datos.Modificar("BorraUNcie_de_Temp", param, "borra un cie la tabla temp -Function BorraCie_selecionado")




    End Function
    Protected Sub Gv_Cie_seleccionado_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles Gv_Cie_seleccionado.SelectedIndexChanged
        Dim row As GridViewRow = Gv_Cie_seleccionado.SelectedRow
        Dim Rs As ADODB.Recordset

        If BorraCie_selecionado(row.Cells(1).Text) = True Then


            'actualizo cargo el cie seleccionado en la pagina 
            '    vacio la grilla
            Gv_Cie_seleccionado.DataBind()
            'busco los datos seleccionados en la tabla     
            Rs = Datos.TraerTodos("TraeCieSeleccionado_de_Temp", Nothing, "Actualiza el cie Seleccionado de la pagina - GV_resultadobusquedaCie_SelectedIndexChanged")

            'cargo el gv_cn el cie seleccionado
            Gv_Cie_seleccionado.DataSource = FG.cargaUnDataTable(Rs)
            Gv_Cie_seleccionado.DataBind()


        End If



    End Sub

    Protected Sub lbkSalirGrupoSanguinio_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lbkSalirGrupoSanguinio.Click

        CboNuevoGrupoSanguinio.Visible = False
        cmdGuardar_Gs.Visible = False
        lbkSalirGrupoSanguinio.Visible = False





    End Sub

    Private Function EliminaMedicamentoCronicoDeTemp(ByVal _Medicamento As String) As Boolean
        Dim param(0) As ADODB.Parameter


        param(0) = New ADODB.Parameter
        param(0).Name = "@MedicamentoCronico"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = _Medicamento
        param(0).Size = 100



        EliminaMedicamentoCronicoDeTemp = Datos.Modificar("borraMedicamentoDeTemp", param, "EliminaMedicamentoCronicoDeTemp-Historal clinico")





    End Function
    Protected Sub gv_medicacion_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles gv_medicacion.SelectedIndexChanged


        Dim row As GridViewRow = gv_medicacion.SelectedRow


        If gv_medicacion.HeaderRow.Cells.Count > 2 Then
            If UCase(row.Cells(2).Text) <> UCase("sin Guardar") Then

                LBl_Msgbox_Msje.Text = "No se puede eliminar un registo guardado"
                mdp_msgbox.Show()
                Exit Sub
            End If
        End If


        'elimino el registro de la tabla temporal
        If EliminaMedicamentoCronicoDeTemp(row.Cells(1).Text) = True Then


            ' si guardo bien,,, recargo el gridview''
            CargaGrid_DE_MEDICAMENTOScronicos()
        Else
            MsgBox("se produjo un error, al eliminar")

        End If
    End Sub

    Protected Sub btnImg_agregaPatoloCronicas_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnImg_agregaPatoloCronicas.Click


        LblMensajeDeGuardaRegistroPatologico.Text = ""
        LblMensajeDeGuardaRegistroPatologico.Visible = False


        '-------------------------------------------
        txtNuevoPAtologiaCronica.Text = ""
        MdlPpagregarPatologia.Show()

    End Sub

    Protected Sub btnImg_agregarMEdicacion_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnImg_agregarMEdicacion.Click

        LblmesajeErrorNuevaMedicacion.Text = ""
        LblmesajeErrorNuevaMedicacion.Visible = False

        '-------------------------------
        txtNuevaMedicacion.Text = ""
        mdlpAgregaMedicacion.Show()

    End Sub

    Protected Sub IMgAgregarAlergia_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IMgAgregarAlergia.Click

        lblMsjeDeErrorNuevaAlergia.Text = ""
        lblMsjeDeErrorNuevaAlergia.Visible = False

        '--------------------------------------
        txtNuevaAlergia.Text = ""
        MdlP_agregarAlergia.Show()



    End Sub

    Private Function BuscaSiexistePatologiaCArgada() As Boolean
        Dim param(1) As ADODB.Parameter
        Dim Rs As ADODB.Recordset




        param(0) = New ADODB.Parameter
        param(0).Name = "@Dni"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = Persona_A_ATEnder.Dev_Dni
        param(0).Size = 10


        param(1) = New ADODB.Parameter
        param(1).Name = "@Enfermedad"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = txtNuevoPAtologiaCronica.Text
        param(1).Size = 100


        'si esta la enfermedad el sp trae 1 si no trae 0
        Rs = Datos.TraerTodos("BuscaSiEstaCargadaUnaPatologiA", param, " BuscaSiexistePatologiaCArgada-historia clinico")


        Rs.MoveFirst()
        BuscaSiexistePatologiaCArgada = CBool(Rs.Fields(0).Value)





    End Function
    Protected Sub btnGuardarPatologiaCronica_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardarPatologiaCronica.Click
        Dim param(0) As ADODB.Parameter
        Dim x As Boolean

        'seteo ''''''''''''''''''''''''''''''''''''''
        LblMensajeDeGuardaRegistroPatologico.Visible = False
        LblMensajeDeGuardaRegistroPatologico.Text = ""
        '-----------------------------------



        '/////////////////////////////////
        ' ---valido---------------------
        ' q no este vacio 
        If txtNuevoPAtologiaCronica.Text = "" Then
            LblMensajeDeGuardaRegistroPatologico.Text = "El campo  del nueva patologia no puede estar vacio"
            LblMensajeDeGuardaRegistroPatologico.Visible = True

            MdlPpagregarPatologia.Hide()
            MdlPpagregarPatologia.Show()
            Exit Sub
        End If
        ' 
        'valido que no este cargada la patologia
        If BuscaSiexistePatologiaCArgada() = True Then
            LblMensajeDeGuardaRegistroPatologico.Text = "La patologia ya se encuentra cargada"
            LblMensajeDeGuardaRegistroPatologico.Visible = True

            MdlPpagregarPatologia.Hide()
            MdlPpagregarPatologia.Show()
            Exit Sub
        End If
        '-----------------------------------------------




        '--------cargo la tabla temporal --------------------
        param(0) = New ADODB.Parameter
        param(0).Name = "@Enfermedad"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtNuevoPAtologiaCronica.Text
        param(0).Size = 100




        x = Datos.Agregar("cargaPatologiaentemporal", param, "btnGuardarPatologiaCronica_Click-historial clinico")

        'si se cargo bien ,,,cargo de nuevo el griew 
        If x = True Then
            CargaGrid_DE_EnfermedadesCronicas()
        Else
            MsgBox("Se produjo un error al cargar")
        End If
        ''''''''''''''''''''''''''''''''''''''





    End Sub
    Private Function EliminiEnfermedadCronica_De_temp(ByVal _patologia As String) As Boolean
        Dim param(0) As ADODB.Parameter


        '--------param de tabla temporal --------------------
        param(0) = New ADODB.Parameter
        param(0).Name = "@Enfermedad"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = _patologia
        param(0).Size = 100


        EliminiEnfermedadCronica_De_temp = Datos.Modificar("borraEnfermedadCronicaDeTemp", param, "Private Function EliminiEnfermedadCronica_De_temp- historial clinico")



    End Function

    Protected Sub gv_enfermedades_cronicas_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles gv_enfermedades_cronicas.SelectedIndexChanged
        Dim row As GridViewRow = gv_enfermedades_cronicas.SelectedRow


        If gv_enfermedades_cronicas.HeaderRow.Cells.Count > 2 Then
            If UCase(row.Cells(2).Text) <> UCase("sin Guardar") Then
                LBl_Msgbox_Msje.Text = "No se puede eliminar un registo guardado"
                mdp_msgbox.Show()
                Exit Sub
            End If
        End If



        'elimino el registro de la tabla temporal
        If EliminiEnfermedadCronica_De_temp(row.Cells(1).Text) = True Then

            ' si elimino bien refrezco los datos en el gridview
            CargaGrid_DE_EnfermedadesCronicas()
        Else
            MsgBox("se produjo un error, al eliminar")

        End If




    End Sub

    Private Sub gv_enfermedades_cronicas_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles gv_enfermedades_cronicas.SelectedIndexChanging

    End Sub

    Private Function GUardaMedicacionEN_temp(ByVal _NuevaMedicacion As String) As Boolean
        Dim param(0) As ADODB.Parameter


        '--------param de tabla temporal --------------------
        param(0) = New ADODB.Parameter
        param(0).Name = "@Medicacion"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = _NuevaMedicacion
        param(0).Size = 100


        GUardaMedicacionEN_temp = Datos.Agregar("CargaNUevaMedicacionEnTemp", param, "GUardaMedicacionEN_temp- histora clinico")


    End Function

    Protected Sub CmdGuardarMedicacion_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CmdGuardarMedicacion.Click
        Dim MI_Row As GridViewRow

        '-------------seteo --------------------
        LblmesajeErrorNuevaMedicacion.Text = ""
        LblmesajeErrorNuevaMedicacion.Visible = False
        '------------------------------

        '------------valido ------------------------------
        If txtNuevaMedicacion.Text = "" Then
            LblmesajeErrorNuevaMedicacion.Text = "Debe ingresar el nombre del medicamento"
            LblmesajeErrorNuevaMedicacion.Visible = True

            mdlpAgregaMedicacion.Hide()
            mdlpAgregaMedicacion.Show()
            Exit Sub
        End If


        ' funcion que busca un valor en un gridview
        If FG.Busca_Si_exiteUNvalorEnGridVIEW(gv_medicacion, 1, txtNuevaMedicacion.Text) = True Then
            LblmesajeErrorNuevaMedicacion.Text = "El medicamento ya esta en la lista"
            LblmesajeErrorNuevaMedicacion.Visible = True

            mdlpAgregaMedicacion.Hide()
            mdlpAgregaMedicacion.Show()
            Exit Sub
        End If

        'valido que no este cargado 
        If gv_medicacion.Rows.Count > 0 Then
            For I = 1 To gv_medicacion.Rows.Count
                'asigno la fila del grid a mi_row
                MI_Row = gv_medicacion.Rows(I - 1)


                If UCase(MI_Row.Cells(1).Text) = UCase(txtNuevaMedicacion.Text) Then
                    LblmesajeErrorNuevaMedicacion.Text = "El medicamento ya esta en la lista"
                    LblmesajeErrorNuevaMedicacion.Visible = True

                    mdlpAgregaMedicacion.Hide()
                    mdlpAgregaMedicacion.Show()
                End If
            Next I
        End If
        '-------------------------------------


        ' ----- guardo el medicamento en temp
        If GUardaMedicacionEN_temp(txtNuevaMedicacion.Text) = True Then

            ' si guardo bien,,, recargo el gridview''
            CargaGrid_DE_MEDICAMENTOScronicos()
        Else
            MsgBox(" se produjo un error al guardar la medicacion ", MsgBoxStyle.Critical, "ERROr")

        End If





    End Sub
    Private Function Guarda_alergia_enTemp() As Boolean
        Dim param(1) As ADODB.Parameter

        param(0) = New ADODB.Parameter
        param(0).Name = "@Alergia"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtNuevaAlergia.Text
        param(0).Size = 100


        param(1) = New ADODB.Parameter
        param(1).Name = "@naturalezaAlergia"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = cbotipoAlergia.Text
        param(1).Size = 50




        Guarda_alergia_enTemp = Datos.Agregar("CargaAlergiaEnTemp", param, "Guarda_alergia_enTemp-historial clinico")



    End Function

    Protected Sub BtnGuardaNuevaAlergia_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnGuardaNuevaAlergia.Click


        ' seteo -------------------------------------
        lblMsjeDeErrorNuevaAlergia.Text = ""
        lblMsjeDeErrorNuevaAlergia.Visible = False
        '------------------------------------

        ' ------------valido -------
        If txtNuevaAlergia.Text = "" Then
            lblMsjeDeErrorNuevaAlergia.Text = "De ingresar un valor en el campo alergia"
            lblMsjeDeErrorNuevaAlergia.Visible = True

            MdlP_agregarAlergia.Hide()
            MdlP_agregarAlergia.Show()
            Exit Sub
        End If


        ' busco si la alergia ya esta en el gridVied
        If FG.Busca_Si_exiteUNvalorEnGridVIEW(gv_alergias, 1, txtNuevaAlergia.Text) = True Then
            lblMsjeDeErrorNuevaAlergia.Text = "La alergia ya se encuentra cargada en la lista"
            lblMsjeDeErrorNuevaAlergia.Visible = True

            MdlP_agregarAlergia.Hide()
            MdlP_agregarAlergia.Show()
            Exit Sub
        End If
        '''''''''''''''''''''''''''''''''''''

        'guardo el dato en la tabla temporal 
        If Guarda_alergia_enTemp() = True Then

            ''si guardo ,,, re cargo la grilla
            cargarAlergias_En_grid()

        Else
            MsgBox("se produjo un error al querer cargar ", MsgBoxStyle.Critical, "ERROR")

        End If


    End Sub

    Private Function Elimino_UnaALERGIAdeTEmp(ByVal _Alergia As String) As Boolean
        Dim param(0) As ADODB.Parameter

        param(0) = New ADODB.Parameter
        param(0).Name = "@Alergia"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = _Alergia
        param(0).Size = 100


        Elimino_UnaALERGIAdeTEmp = Datos.Modificar("BorraUnaAlergiaDeTemp", param, "Elimino_UnaALERGIAdeTEmp-historial clinico")


    End Function

    Protected Sub gv_alergias_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles gv_alergias.SelectedIndexChanged
        Dim row As GridViewRow = gv_alergias.SelectedRow


        If gv_alergias.HeaderRow.Cells.Count > 2 Then
            If UCase(row.Cells(2).Text) <> UCase("sin Guardar") Then

                LBl_Msgbox_Msje.Text = "No se puede eliminar un registo guardado"
                mdp_msgbox.Show()
                Exit Sub
            End If
        End If




        ''elimino el registro de la tabla temporal
        If Elimino_UnaALERGIAdeTEmp(row.Cells(1).Text) = True Then
            ' si elimino bien crago de nuevo la grilla

            cargarAlergias_En_grid()

        Else
            MsgBox("se produjo un error al querer eliminar una alerguia ", MsgBoxStyle.Critical, "ERROR")

        End If




    End Sub

    Protected Sub imgAgregarPrescripciones_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgAgregarPrescripciones.Click

        txtNuevaPrescripcion.Text = ""
        txT_Medica_prescripcion.Text = ""


        lblMsjeGuardarPrescripcion.Text = ""
        lblMsjeGuardarPrescripcion.Visible = False


        MdlP_AgregaPREscripcion.Show()



    End Sub


    Protected Sub BtnAgregarPrescripcion_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnAgregarPrescripcion.Click

        ' ------------seteo -----------------
        lblMsjeGuardarPrescripcion.Text = ""
        lblMsjeGuardarPrescripcion.Visible = False
        '-----------------------------------------

        'seteo el cartel de guaradar
        FG.SacaCartelDeAViso(LblMsjeDeGuardarHistoriaClinica)
        '------------------------------


        'validacion--------------------------------'
        If txtNuevaPrescripcion.Text = "" Then
            lblMsjeGuardarPrescripcion.Text = "Debe escribir la  prescripcion para poder guardar "
            lblMsjeGuardarPrescripcion.Visible = True

            MdlP_AgregaPREscripcion.Hide()
            MdlP_AgregaPREscripcion.Show()
            Exit Sub
        End If


        If FG.Busca_Si_exiteUNvalorEnGridVIEW(Gd_precriciopnes, 1, txtNuevaPrescripcion.Text) Then
            lblMsjeGuardarPrescripcion.Text = "La prescricion ya se encuentra en cargada"
            lblMsjeGuardarPrescripcion.Visible = True

            MdlP_AgregaPREscripcion.Hide()
            MdlP_AgregaPREscripcion.Show()
            Exit Sub
        End If
        '--------------------------------------------

        '' cargo la prescripcion''
        CargaPrescripcionMedica_EnTEmp()
        '----------------------------

    End Sub

    Protected Sub Gd_precriciopnes_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles Gd_precriciopnes.SelectedIndexChanged
        Dim param(1) As ADODB.Parameter
        Dim Rs As ADODB.Recordset
        Dim x As Boolean
        Dim row As GridViewRow = Gd_precriciopnes.SelectedRow


        param(0) = New ADODB.Parameter
        param(0).Name = "@Alergia"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = txtNuevaAlergia.Text
        param(0).Size = 100


        param(1) = New ADODB.Parameter
        param(1).Name = "@naturalezaAlergia"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = row.Cells(2).Text




        x = Datos.Modificar("BorraPrescripcionDeTemp", param, " Gd_precriciopnes_SelectedIndexChanged - historial clinico")

        If x = True Then

            'vacio la grilla
            Gd_precriciopnes.DataBind()


            'recargo la gilla
            Rs = Datos.TraerTodos("TraePrescipcionDeTemporal", Nothing, " Gd_precriciopnes_SelectedIndexChanged  - historial clinico")

            Gd_precriciopnes.DataSource = FG.cargaUnDataTable(Rs)
            Gd_precriciopnes.DataBind()


        Else
            MsgBox("ERror al cagar la prescipcion", MsgBoxStyle.Critical, "ERROR")


        End If





    End Sub

    Private Sub TRaeDAtosDeFichaMEdica(ByVal _fecha As String, ByVal _motivo As String, ByVal _especial As String, ByVal _inst As String, ByVal _tipoVisita As String)
        Dim param(5) As ADODB.Parameter
        Dim Rs As ADODB.Recordset






        param(0) = New ADODB.Parameter
        param(0).Name = "@fecha"
        param(0).Type = ADODB.DataTypeEnum.adDate
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Value = CDate(_fecha)
        param(0).Size = 20


        param(1) = New ADODB.Parameter
        param(1).Name = "@motivo"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Value = _motivo
        param(1).Size = 100

        param(2) = New ADODB.Parameter
        param(2).Name = "@especialidad"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Value = _especial
        param(2).Size = 100

        param(3) = New ADODB.Parameter
        param(3).Name = "@institucion"
        param(3).Type = ADODB.DataTypeEnum.adVarChar
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(3).Value = _inst
        param(3).Size = 50

        param(4) = New ADODB.Parameter
        param(4).Name = "@tipoDeVisita"
        param(4).Type = ADODB.DataTypeEnum.adVarChar
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(4).Value = _tipoVisita
        param(4).Size = 50

        param(5) = New ADODB.Parameter
        param(5).Name = "@Dni"
        param(5).Type = ADODB.DataTypeEnum.adVarChar
        param(5).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(5).Value = Persona_A_ATEnder.Dev_Dni
        param(5).Size = 10




        ' cargo los disgnosticos 
        Rs = Datos.TraerTodos("TRae_FichaMedicaDeDiagnostico", param, "TRaeDAtosDeFichaMEdica- hictorial medico")
        Gv_FichaMedica_diagnostico.DataSource = FG.cargaUnDataTable(Rs)
        Gv_FichaMedica_diagnostico.DataBind()
        If Rs.RecordCount > 0 Then
            TabContainer_fichamedica.ActiveTabIndex = 0
        End If
        '----------------------

        'cargo las prespcripciones
        Rs = Datos.TraerTodos("TRae_FichaMedica_Prescripciones", param, "TRaeDAtosDeFichaMEdica- hictorial medico")
        Gv_FichaMedica_Prescipciones.DataSource = FG.cargaUnDataTable(Rs)
        Gv_FichaMedica_Prescipciones.DataBind()

        If Rs.RecordCount > 0 Then
            TabContainer_fichamedica.ActiveTabIndex = 1
        End If
        '-------------------------------

        'cargo los registros patologicos 
        Rs = Datos.TraerTodos("TRae_FichaMedica_DetalleIngresoPatologicos", param, "TRaeDAtosDeFichaMEdica- hictorial medico")
        Gv_fichaMedica_RegPatologicos.DataSource = FG.cargaUnDataTable(Rs)
        Gv_fichaMedica_RegPatologicos.DataBind()
        If Rs.RecordCount > 0 Then
            TabContainer_fichamedica.ActiveTabIndex = 2
        End If
        '------------------


        'cargo las vacunas recibidas
        Rs = Datos.TraerTodos("TRae_FichaMedica_DeVacunas", param, "TRaeDAtosDeFichaMEdica- hictorial medico")
        gv_FichaMedica_vacunas.DataSource = FG.cargaUnDataTable(Rs)
        gv_FichaMedica_vacunas.DataBind()
        If Rs.RecordCount > 0 Then
            TabContainer_fichamedica.ActiveTabIndex = 3
        End If
        '--------------------------------------


        'cargo los reportes de enfermeria
        Rs = Datos.TraerTodos("TRae_FichaMedica_ReporteEnfermeria", param, "TRaeDAtosDeFichaMEdica- hictorial medico")
        gv_reportEnfermeria.DataSource = FG.cargaUnDataTable(Rs)
        gv_reportEnfermeria.DataBind()
        If Rs.RecordCount > 0 Then
            TabContainer_fichamedica.ActiveTabIndex = 4
        End If
        '----------------------------


        ''busco los registros de generales de ese dia
        'Rs = Datos.TraerTodos("TRae_FichaMedica", param, "TRaeDAtosDeFichaMEdica- hictorial medico")

        'gv_fichaMedcia.DataSource = FG.cargaUnDataTable(Rs)
        'gv_fichaMedcia.DataBind()

        ''--------------------------------------------




        ' ''aca busco los ingresos de registros patologicos
        'Rs = Datos.TraerTodos("TRae_FichaMedica_DetalleIngresoPatologicos", param, "TRaeDAtosDeFichaMEdica- hictorial medico")

        'If Rs.RecordCount > 0 Then

        '    P_detalleFichaMedica_potologia.Visible = True
        '    gv_fichaMedicaPAtologia.DataSource = FG.cargaUnDataTable(Rs)

        '    gv_fichaMedicaPAtologia.DataBind()

        'End If
        ''.........................................


    End Sub

    Protected Sub Gv_HISTORAL_CLINICO_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles Gv_HISTORAL_CLINICO.SelectedIndexChanged
        Dim row As GridViewRow = Gv_HISTORAL_CLINICO.SelectedRow

        'seteo el panel del los regisros patologicos para q no se vea sino tiene datos (lo hago visible cuando hago la consulta y veo q tiene datos)



        lblfecha_fichaMEdica.Text = row.Cells(1).Text   'fecha
        lblMOtFichaMEdica.Text = row.Cells(2).Text       'motivo
        lblEspecialidad.Text = row.Cells(3).Text         'especialidad
        lblInstitucion.Text = row.Cells(4).Text           'institucion
        lbl_tipo.Text = row.Cells(5).Text                'tipo de visita



        'aca consulto
        TRaeDAtosDeFichaMEdica(row.Cells(1).Text, row.Cells(2).Text, row.Cells(3).Text, row.Cells(4).Text, row.Cells(5).Text)

        p_fichaMedica.Visible = True


    End Sub

    Protected Sub cmdGuardar_Gs_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdGuardar_Gs.Click




        If CboNuevoGrupoSanguinio.Text <> "-" Then
            lbl_grupoSanguinio.Text = CboNuevoGrupoSanguinio.Text
            CboNuevoGrupoSanguinio.Visible = False

            lbkSalirGrupoSanguinio.Visible = False
        Else
            mdp_msgbox.Hide()


            LBl_Msgbox_Msje.Text = "Para guardar debe especificar un grupo Sanguineo"
            mdp_msgbox.Show()


        End If
    End Sub
    Private Sub limpiaCampos()
        txtMotivo.Text = "Búsqueda DNI"
        txtDiagnostico.Text = ""
        txtNuevoPAtologiaCronica.Text = ""
        txtNuevaMedicacion.Text = ""
        txtNuevaAlergia.Text = ""
        txtNuevaPrescripcion.Text = ""
        txT_Medica_prescripcion.Text = ""
        txtDiagnostico_Cie.Text = ""
        txtCodcie.Text = ""
    End Sub
    Protected Sub btnLimpiar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnLimpiar.Click

        'limpio los datos de los campos
        limpiaCampos()

        ' vacio los temporals
        LimpiaTabla_temporales()



    End Sub


    Protected Sub lnkbtnCierraFichamedica1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkbtnCierraFichamedica1.Click
        p_fichaMedica.Visible = False
    End Sub

    Protected Sub ImgButonAgregarCie_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgButonAgregarCie.Click
        mdlpopup_BuscaCie.Show()
    End Sub
End Class
